#pragma once
#include <QtOpenGL>

namespace PUMA
{
	struct MyVertex
	{
		QVector3D position;
		QVector3D color;
		QVector3D normal;

		MyVertex(){ };
        
		MyVertex(GLfloat x, GLfloat y, GLfloat z, GLfloat r = 1.0f, GLfloat g = 1.0f, GLfloat b = 1.0f) : position(x,y,z), color(r,g,b){};

		MyVertex(GLfloat x, GLfloat y, GLfloat z, QVector3D vecColor) : position(x,y,z), color(vecColor){};
		MyVertex(GLfloat x, GLfloat y, GLfloat z, QColor vecColor) : position(x,y,z) 
		{ 
			color = QVector3D(vecColor.redF(), vecColor.greenF(), vecColor.blueF());
		};

		MyVertex(GLfloat x, GLfloat y, GLfloat z, QVector3D vecNormal, QVector3D vecColor = QVector3D(1,0,0)) : position(x,y,z), color(vecColor), normal(vecNormal){};
		MyVertex(const QVector3D & vecPosition, const QVector3D & vecNormal, const QVector3D & vecColor = QVector3D(1,0,0)) : position(vecPosition), color(vecColor), normal(vecNormal){};
	};
}

